// pages/activity-management/index.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    activities: [],
    currentDate: '',
    currentSource: 'all',
    loading: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.loadActivities();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.loadActivities(true);
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '活动管理',
      path: '/pages/activity-management/index'
    };
  },

  /**
   * 加载活动列表
   */
  loadActivities(refresh = false) {
    if (refresh) {
      wx.showLoading({
        title: '刷新中...'
      });
    }

    // 模拟数据
    const mockActivities = [
      {
        id: 1,
        title: '社区共读活动',
        date: '2025-01-20',
        time: '09:00-11:00',
        location: '社区活动中心',
        organizer: '居委会',
        imageUrl: '/img/items/activity-default.jpg'
      },
      {
        id: 2,
        title: '老年书法班开课',
        date: '2025-01-22',
        time: '14:00-16:00',
        location: '社区文化站',
        organizer: '文化站',
        imageUrl: '/img/items/activity-default.jpg'
      }
    ];

    this.setData({
      activities: mockActivities,
      loading: false
    });

    if (refresh) {
      wx.hideLoading();
      wx.stopPullDownRefresh();
    }
  },

  /**
   * 跳转到活动详情页
   */
  navigateToDetail(e) {
    const { id } = e.currentTarget.dataset;
    wx.navigateTo({
      url: `/pages/activity-management/detail/index?id=${id}`
    });
  },

  /**
   * 日期选择器变化
   */
  onDateChange(e) {
    this.setData({
      currentDate: e.detail.value
    });
    this.loadActivities();
  },

  /**
   * 来源选择器变化
   */
  onSourceChange(e) {
    this.setData({
      currentSource: e.detail.value
    });
    this.loadActivities();
  },

  /**
   * 格式化日期
   */
  formatDate(dateStr) {
    const date = new Date(dateStr);
    const year = date.getFullYear();
    const month = (date.getMonth() + 1).toString().padStart(2, '0');
    const day = date.getDate().toString().padStart(2, '0');
    return `${year}-${month}-${day}`;
  }
});